package com.hb.B_面向对象.A_类与继承

/**
 * Kotlin认为类默认开放继承并不是一个好的选择
 * 所以在Kotlin中的类或方法默认是不允许被继承或重写的。
 *
 * 对下面的Bird5反编译为java代码中的类时，方法及属性前面多了一个final修饰符，由它的修饰的内容将不允许
 * 被继承或修改。在java中类默认是可以被继承的，除非你主动加final修饰符。而在kotlin中恰恰相反，除非你加上
 * open修饰符才可以被继承。
 */
fun main() {
println("a")
}

/**
 * 没有加open修饰符反编译的都是final修饰的方法和属性
 * 加了open之后，反编译的就是和java中的类一样了
 */
open class Bird5{
    val weight:Double=200.0
    val color:String="blue"
    val age:Int=1

}